package com.yiibai.tutorial.javabasic.variable;
	abstract class Shape2{
		abstract void draw();
	}
//In real scenario,implementation is provided by others i.e. unknown by end user	
 class Rectangle2  extends Shape2{
	void draw() {
		System.out.println("drawing rectangle");
	}
}
class Circle1 extends Shape2{
	void draw() {
		System.out.println("drawing circle");
	}
}
//In real scenario,method is called by programmer or user
class TestAbstraction1{
	public static void main(String args[]) {
		Shape2 s = new Circle1();//In real scenario,object is provided through
		//method e.g. getShape() method
		s.draw();
	}
}